/*
 * Created on Jan 13, 2009
 */
package ak.salmon.markup;

import java.util.List;

import ak.salmon.model.NodeContent;

public interface DrawingPalette {

    public void begin();

    public void end();

    /**
     * Generates the markups being written so far.
     */
    public String toString();

    /* settings */

    public void setTextHeight(int height);

    public void setFontSize(int size);

    public void setLineStyle(String css);

    public void setBoxStyle(String css);

    /* palette of drawing functions */

    public void drawLine(int x1, int y1, int x2, int y2);

    public void drawText(int x, int y, NodeContent content);

    public void drawText(int x, int y, List<String> lines);

    public void drawBox(int x, int y, int width, int height);

}
